Skip to content

fix(wallet): remove Leap wallet integration#3064

Open
baktun14 wants to merge 6 commits into
mainfrom
fix/wallet-remove-leap-wallet
Open

fix(wallet): remove Leap wallet integration#3064
baktun14 wants to merge 6 commits into
mainfrom
fix/wallet-remove-leap-wallet

Conversation

@baktun14
Copy link
Copy Markdown
Contributor

@baktun14 baktun14 commented Apr 15, 2026

Why

Fixes CON-182 CON-253

Leap is sunsetting their wallet extension. This PR removes all Leap wallet integration from the codebase.

What

  • Removed @cosmos-kit/leap and @cosmos-kit/leap-extension dependencies from deploy-web and provider-console
  • Removed @leapwallet/elements liquidity modal (swap/bridge/fiat on-ramp) and its CSS
  • Removed Leap from wallet connection arrays in both apps' CustomChainProvider
  • Removed LeapElements global type declaration
  • Removed Leap-specific analytics events (leap_get_more_tokens, leap_tx_complete)
  • Removed @leapwallet/elements script/stylesheet tags from get-started pages
  • Renamed E2E test wallet mock from Leap to Keplr (initLeapWebWalletMockinitKeplrWebWalletMock)
  • Updated connectWalletViaLeapconnectWalletViaKeplr in test fixtures
  • Removed Leap extension storage restore helpers and unused test utilities
  • Cleaned up .npmrc (removed @leapwallet registry), .gitignore, and ESLint config
  • Updated QA checklist docs to remove Leap references

Summary by CodeRabbit

  • Wallet Support

    • Removed Leap wallet integration; app now supports Keplr, Cosmostation, and MetaMask only
  • Features Removed

    • Removed liquidity modal and related "Get More Tokens" flow
    • Removed Leap-led UI assets and global injection
  • Analytics

    • Removed Leap-specific analytics events
  • Styling

    • Removed Leap-related CSS rules
  • Tests

    • Added tests for the GetStartedStepper
  • Docs

    • Updated e2e QA checklist to replace Leap with Cosmostation
  • Chores

    • Cleaned config entries and dependency references related to Leap

Review Change Stack

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 15, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

This PR removes Leap wallet integration across deploy-web and provider-console, refactors GetStartedStepper to accept injected dependencies, deletes Leap-specific LiquidityModal, updates tests, and removes Leap-related dependency/ignore entries.

Changes

Leap Wallet Integration Removal and GetStartedStepper refactor

Layer / File(s) Summary
Remove Leap from wallet configuration
apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.tsx, apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.spec.tsx
Leap wallet entry removed from WALLETS_PROVIDERS; test assertions updated to stop expecting leap-extension/leap-mobile registry entries.
Refactor GetStartedStepper to dependency injection
apps/deploy-web/src/components/get-started/GetStartedStepper.tsx
Adds exported DEPENDENCIES and dependencies? prop; routes uses of useWallet, useWalletBalance, useChainParam, WalletConnectionButtons, and AddFundsLink through injected deps; balance usage adjusted and non-managed token label changed to ACT.
Add GetStartedStepper test suite
apps/deploy-web/src/components/get-started/GetStartedStepper.spec.tsx
New Vitest + RTL tests (custodial connected, managed connected, disconnected) using mocked DEPENDENCIES via a setup helper.
Remove Leap from dependencies and ignore patterns
.gitignore, apps/deploy-web/package.json
Deleted Playwright fixture ignore rule and removed @cosmos-kit/leap from deploy-web dependencies.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested labels

size: L

Suggested reviewers

  • ygrishajev
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/wallet-remove-leap-wallet

Comment @coderabbitai help to get the list of available commands and usage tips.

Comment thread package-lock.json Outdated
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 64.57%. Comparing base (b1a87da) to head (09af49f).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3064      +/-   ##
==========================================
+ Coverage   64.20%   64.57%   +0.36%     
==========================================
  Files        1099     1098       -1     
  Lines       26868    26792      -76     
  Branches     6534     6518      -16     
==========================================
+ Hits        17251    17300      +49     
+ Misses       8417     8307     -110     
+ Partials     1200     1185      -15     
Flag Coverage Δ
api 84.70% <ø> (+0.02%) ⬆️
deploy-web 48.08% <100.00%> (+0.56%) ⬆️
log-collector 85.85% <ø> (ø)
notifications 91.06% <ø> (ø)
provider-console 81.48% <ø> (ø)
provider-inventory 79.85% <ø> (ø)
provider-proxy 86.08% <ø> (ø)
tx-signer 78.14% <ø> (ø)
Files with missing lines Coverage Δ
...b/src/components/get-started/GetStartedStepper.tsx 73.07% <100.00%> (+73.07%) ⬆️
...ontext/CustomChainProvider/CustomChainProvider.tsx 55.55% <ø> (+2.92%) ⬆️
apps/deploy-web/src/pages/get-started/index.tsx 0.00% <ø> (ø)
...oy-web/src/services/analytics/analytics.service.ts 94.28% <ø> (ø)

... and 6 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@doc/e2e-manual-qa-checklist.md`:
- Line 165: Update the checklist item that currently reads "Wallet extension
modal opens (Keplr/Cosmostation)" to include MetaMask so it reflects all
supported extensions; locate the checklist line containing "Wallet extension
modal opens (Keplr/Cosmostation)" in doc/e2e-manual-qa-checklist.md and change
it to something like "Wallet extension modal opens
(Keplr/Cosmostation/MetaMask)" or similar to explicitly mention MetaMask.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 39688809-1818-4399-9d03-05f80ef6be5b

📥 Commits

Reviewing files that changed from the base of the PR and between c30cac7 and 1607829.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (20)
  • .gitignore
  • .npmrc
  • apps/deploy-web/package.json
  • apps/deploy-web/src/components/get-started/GetStartedStepper.tsx
  • apps/deploy-web/src/components/liquidity-modal/index.tsx
  • apps/deploy-web/src/context/CustomChainProvider/CustomChainProvider.tsx
  • apps/deploy-web/src/pages/get-started/index.tsx
  • apps/deploy-web/src/services/analytics/analytics.service.ts
  • apps/deploy-web/src/styles/index.css
  • apps/deploy-web/src/types/global.ts
  • apps/deploy-web/tests/ui/fixture/context-with-extension.ts
  • apps/deploy-web/tests/ui/fixture/wallet-setup.ts
  • apps/deploy-web/tests/ui/fixture/web-wallet/initKeplrWebWalletMock.ts
  • apps/deploy-web/tests/ui/fixture/web-wallet/injectWebWallet.ts
  • apps/provider-console/package.json
  • apps/provider-console/src/context/CustomChainProvider/CustomChainProvider.tsx
  • apps/provider-console/src/pages/get-started/index.tsx
  • apps/provider-console/src/styles/index.css
  • doc/e2e-manual-qa-checklist.md
  • packages/dev-config/.eslintrc.base.js
💤 Files with no reviewable changes (11)
  • .gitignore
  • apps/provider-console/package.json
  • .npmrc
  • apps/deploy-web/package.json
  • apps/deploy-web/src/styles/index.css
  • apps/deploy-web/src/pages/get-started/index.tsx
  • apps/provider-console/src/styles/index.css
  • apps/deploy-web/src/types/global.ts
  • apps/deploy-web/src/services/analytics/analytics.service.ts
  • apps/provider-console/src/pages/get-started/index.tsx
  • apps/deploy-web/src/components/liquidity-modal/index.tsx

Comment thread doc/e2e-manual-qa-checklist.md Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@apps/deploy-web/src/components/get-started/GetStartedStepper.spec.tsx`:
- Around line 57-63: The balance mock is only created when input.balanceUAKT
exists, which skips creating a balance object if only balanceUUSDC or
balanceUACT are provided; update the gating in the GetStartedStepper.spec.tsx
test to create the balance object when any of input.balanceUAKT,
input.balanceUUSDC, or input.balanceUACT is defined (e.g., check
input?.balanceUAKT !== undefined || input?.balanceUUSDC !== undefined ||
input?.balanceUACT !== undefined) and still fill the properties using the
existing fallback logic (balanceUUSDC: input?.balanceUUSDC ?? 0, balanceUACT:
input?.balanceUACT ?? 0).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 73bfd44b-e2ee-4e38-b51d-dfb05d35cc99

📥 Commits

Reviewing files that changed from the base of the PR and between 1607829 and ffde128.

📒 Files selected for processing (3)
  • apps/deploy-web/src/components/get-started/GetStartedStepper.spec.tsx
  • apps/deploy-web/src/components/get-started/GetStartedStepper.tsx
  • doc/e2e-manual-qa-checklist.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • doc/e2e-manual-qa-checklist.md
  • apps/deploy-web/src/components/get-started/GetStartedStepper.tsx

Comment thread apps/deploy-web/src/components/get-started/GetStartedStepper.spec.tsx Outdated
@stalniy
Copy link
Copy Markdown
Contributor

stalniy commented Apr 15, 2026

should we wait till May 28, 2026?

@baktun14
Copy link
Copy Markdown
Contributor Author

should we wait till May 28, 2026?

Sure we can, I don't think it matters.

Comment thread apps/deploy-web/src/components/get-started/GetStartedStepper.spec.tsx Outdated
baktun14 added 4 commits May 22, 2026 00:17
Leap is sunsetting their wallet extension. Remove all Leap-related code
including wallet connections, @leapwallet/elements liquidity modal,
analytics events, CSS styles, test fixtures, and package dependencies
from both deploy-web and provider-console apps.

Fixes CON-182
Add unit tests for the GetStartedStepper component covering the balance
display logic for both custodial and managed wallets. Introduce the
DEPENDENCIES pattern to enable DI-based testing.
Address CodeRabbit review: include MetaMask in the QA checklist since
it's still a supported wallet option in deploy-web.
Address CodeRabbit review: balance mock now activates when any of
balanceUAKT, balanceUUSDC, or balanceUACT is provided, not just
balanceUAKT.
@baktun14 baktun14 force-pushed the fix/wallet-remove-leap-wallet branch from c4e6b7e to 91bf950 Compare May 22, 2026 06:08
@socket-security
Copy link
Copy Markdown

socket-security Bot commented May 22, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​nivo/​tooltip@​0.87.01001006782100
Added@​nivo/​core@​0.87.0991007182100
Added@​nivo/​pie@​0.87.01001007186100
Added@​nivo/​line@​0.87.0991007386100

View full report

baktun14 added 2 commits May 22, 2026 01:13
USDC is no longer a Console denom — ACT replaced it as the primary
crypto. The Get Started stepper still showed the USDC balance line for
custodial wallets; switch it to ACT and update the spec accordingly.
After deleting liquidity-modal, nothing imports apps/deploy-web/src/types/global.ts,
so knip flagged it (and its only devDep, @keplr-wallet/types) as unused. The
only consumer of the Window augmentation was window.dataLayer in
analytics.service.ts — inline a minimal declare global there and remove
the dead file + devDep.
@baktun14 baktun14 requested review from stalniy and ygrishajev May 23, 2026 01:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants